/** Copyright 2018, 2021 He Hao<hehaoslj@sina.com> */
#include "opcda2_all.h"

#define MIDL_DEFINE_GUID(type, name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7,    \
                         b8)                                                   \
  const type name = {l, w1, w2, {b1, b2, b3, b4, b5, b6, b7, b8}}

const IID IID_IUnknown = {0x00000000,
                          0x0000,
                          0x0000,
                          {0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}};

const IID IID_IClassFactory = {
    0x00000001,
    0x0000,
    0x0000,
    {0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}};

MIDL_DEFINE_GUID(IID, IID_IConnectionPointContainer, 0xb196b284, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07);

const IID IID_IOPCServerList = {
    0x13486D50,
    0x4821,
    0x11D2,
    {0xA4, 0x94, 0x3C, 0xB3, 0x06, 0xC1, 0x00, 0x00}};
const CLSID CLSID_IOPCServerList = {
    0x13486D51,
    0x4821,
    0x11D2,
    {0xA4, 0x94, 0x3C, 0xB3, 0x06, 0xC1, 0x00, 0x00}};

MIDL_DEFINE_GUID(IID, IID_CATID_OPCDAServer10, 0x63D5F430, 0xCFE4, 0x11d1, 0xB2,
                 0xC8, 0x00, 0x60, 0x08, 0x3B, 0xA1, 0xFB);

MIDL_DEFINE_GUID(IID, IID_CATID_OPCDAServer20, 0x63D5F432, 0xCFE4, 0x11d1, 0xB2,
                 0xC8, 0x00, 0x60, 0x08, 0x3B, 0xA1, 0xFB);

MIDL_DEFINE_GUID(IID, IID_CATID_OPCDAServer30, 0xCC603642, 0x66D7, 0x48f1, 0xB6,
                 0x9A, 0xB6, 0x25, 0xE7, 0x36, 0x52, 0xD7);

MIDL_DEFINE_GUID(IID, IID_CATID_XMLDAServer10, 0x3098EDA4, 0xA006, 0x48b2, 0xA2,
                 0x7F, 0x24, 0x74, 0x53, 0x95, 0x94, 0x08);

MIDL_DEFINE_GUID(IID, IID_IOPCServer, 0x39c13a4d, 0x011e, 0x11d0, 0x96, 0x75,
                 0x00, 0x20, 0xaf, 0xd8, 0xad, 0xb3);

MIDL_DEFINE_GUID(IID, IID_IOPCServerPublicGroups, 0x39c13a4e, 0x011e, 0x11d0,
                 0x96, 0x75, 0x00, 0x20, 0xaf, 0xd8, 0xad, 0xb3);

MIDL_DEFINE_GUID(IID, IID_IOPCBrowseServerAddressSpace, 0x39c13a4f, 0x011e,
                 0x11d0, 0x96, 0x75, 0x00, 0x20, 0xaf, 0xd8, 0xad, 0xb3);

MIDL_DEFINE_GUID(IID, IID_IOPCGroupStateMgt, 0x39c13a50, 0x011e, 0x11d0, 0x96,
                 0x75, 0x00, 0x20, 0xaf, 0xd8, 0xad, 0xb3);

MIDL_DEFINE_GUID(IID, IID_IOPCPublicGroupStateMgt, 0x39c13a51, 0x011e, 0x11d0,
                 0x96, 0x75, 0x00, 0x20, 0xaf, 0xd8, 0xad, 0xb3);

MIDL_DEFINE_GUID(IID, IID_IOPCSyncIO, 0x39c13a52, 0x011e, 0x11d0, 0x96, 0x75,
                 0x00, 0x20, 0xaf, 0xd8, 0xad, 0xb3);

MIDL_DEFINE_GUID(IID, IID_IOPCAsyncIO, 0x39c13a53, 0x011e, 0x11d0, 0x96, 0x75,
                 0x00, 0x20, 0xaf, 0xd8, 0xad, 0xb3);

MIDL_DEFINE_GUID(IID, IID_IOPCItemMgt, 0x39c13a54, 0x011e, 0x11d0, 0x96, 0x75,
                 0x00, 0x20, 0xaf, 0xd8, 0xad, 0xb3);

MIDL_DEFINE_GUID(IID, IID_IEnumOPCItemAttributes, 0x39c13a55, 0x011e, 0x11d0,
                 0x96, 0x75, 0x00, 0x20, 0xaf, 0xd8, 0xad, 0xb3);

MIDL_DEFINE_GUID(IID, IID_IOPCDataCallback, 0x39c13a70, 0x011e, 0x11d0, 0x96,
                 0x75, 0x00, 0x20, 0xaf, 0xd8, 0xad, 0xb3);

MIDL_DEFINE_GUID(IID, IID_IOPCAsyncIO2, 0x39c13a71, 0x011e, 0x11d0, 0x96, 0x75,
                 0x00, 0x20, 0xaf, 0xd8, 0xad, 0xb3);

MIDL_DEFINE_GUID(IID, IID_IOPCItemProperties, 0x39c13a72, 0x011e, 0x11d0, 0x96,
                 0x75, 0x00, 0x20, 0xaf, 0xd8, 0xad, 0xb3);

MIDL_DEFINE_GUID(IID, IID_IOPCItemDeadbandMgt, 0x5946DA93, 0x8B39, 0x4ec8, 0xAB,
                 0x3D, 0xAA, 0x73, 0xDF, 0x5B, 0xC8, 0x6F);

MIDL_DEFINE_GUID(IID, IID_IOPCItemSamplingMgt, 0x3E22D313, 0xF08B, 0x41a5, 0x86,
                 0xC8, 0x95, 0xE9, 0x5C, 0xB4, 0x9F, 0xFC);

MIDL_DEFINE_GUID(IID, IID_IOPCBrowse, 0x39227004, 0xA18F, 0x4b57, 0x8B, 0x0A,
                 0x52, 0x35, 0x67, 0x0F, 0x44, 0x68);

MIDL_DEFINE_GUID(IID, IID_IOPCItemIO, 0x85C0B427, 0x2893, 0x4cbc, 0xBD, 0x78,
                 0xE5, 0xFC, 0x51, 0x46, 0xF0, 0x8F);

MIDL_DEFINE_GUID(IID, IID_IOPCSyncIO2, 0x730F5F0F, 0x55B1, 0x4c81, 0x9E, 0x18,
                 0xFF, 0x8A, 0x09, 0x04, 0xE1, 0xFA);

MIDL_DEFINE_GUID(IID, IID_IOPCAsyncIO3, 0x0967B97B, 0x36EF, 0x423e, 0xB6, 0xF8,
                 0x6B, 0xFF, 0x1E, 0x40, 0xD3, 0x9D);

MIDL_DEFINE_GUID(IID, IID_IOPCGroupStateMgt2, 0x8E368666, 0xD72E, 0x4f78, 0x87,
                 0xED, 0x64, 0x76, 0x11, 0xC6, 0x1C, 0x9F);

MIDL_DEFINE_GUID(IID, LIBID_OPCDA, 0x3B540B51, 0x0378, 0x4551, 0xAD, 0xCC, 0xEA,
                 0x9B, 0x10, 0x43, 0x02, 0xBF);

MIDL_DEFINE_GUID(IID, IID_IOPCShutdown,0xF31DFDE1,0x07B6,0x11d2,0xB2,0xD8,0x00,0x60,0x08,0x3B,0xA1,0xFB);
